Vendors of information appliances, such as personal computers, and even embedded devices with human computer interfaces, have often wrestled with providing an optimal presentation of customized of personalized information, both in the nature of the information to be presented, and the optimal presentation thereof. Personalization and customization of computer user interfaces is often in conflict with a desire for standardization and consistency. Thus, the more an interface is malleable to represent personalized factors, the less that interface represents a standard, and that deviation can lead to support and training difficulties. See, e.g., Horvitz et al, U.S. Pat. No. 6,021,403, expressly incorporated herein by reference.
In order to customize computer user interfaces, typically the visual factors are treated as objects, such as view type, font, color scheme, wallpaper, sounds, icons, and the like, which may be altered globally or locally by altering a characteristic of the visual object. In order to personalize computer user interfaces, typically the layout of different types of information, such as news, weather, financial data and the like, is predicated by interests of the user.
As a separate scheme, computer user interfaces may also track a user's activity, thereby creating a history. It is often desirable to facilitate common functions of programmable interfaces for the user and/or to recall recently performed operations that are desirable to be repeated or for which traceability is desired. Thus, many software constructs record a list of recently used files, which is then presented as a readily accessible list of potential choices for the user. Likewise, graphic user interfaces for operating systems and favorite lists for browsers are generally directly modifiable by the user to alter the selection and grouping of information-related objects presented.
In a system having a hypermedia structure, information objects can be browsed by following links provided between each other. In conventional hypermedia systems, however, a problem may often occur in which a path that the user has followed is lost and the user cannot return to a desired location or the user becomes unable to make out his whereabouts in the system. This problem is generally known as the problem of lost path in the hypermedia system.
Conventional hypermedia systems often have history files that tell the routes the user has followed. Generally, most of such history files simply list character information in the order in which the user has been browsing. Some of the history files indicate the hypermedia links in a tree structure to allow grasping of the connection state of the information objects, while others show the nodes in images reduced in size and sometimes referred to as thumbnails.
Modern Internet browsers, such as Microsoft's Internet Explorer, and Netscape's Navigator provide access to a list of viewed Web pages, albeit through different means. This history is generated automatically based on actual Web pages viewed, and is non-editable by definition, except that Microsoft allows deletion of pages from the history list. Revisits to a Web page add additional versions of the page in the history list of Microsoft Internet Explorer. The browser history is acquired as a list of the Web page addresses referred to as URLs, or uniform resource locators, represented in the address input box of the browser. If a desired object is not identified by a representation in the address input box, it is not recorded or not definitively recorded, and indeed also cannot be appropriately added as a favorite. This history may thus incompletely define the state of the system, for example, when the system executes a script, applet or plugin, or other machine state not fully defined by the URL. In these cases, the history list is not usable to completely restore a prior state of the browser.
A Uniform Resource Identifier (RFC 1630) is the name for the standard generic object in the World Wide Web. Internet space is inhabited by many points of content. A URI (Uniform Resource Identifier is the way you identify any of those points of content, whether it be a page of text, a video or sound clip, a still or animated image, or a program. The most common form of URI is the Web page address, which is a particular form or subset of URI called a Uniform Resource Locator (URL). A URI typically describes: the mechanism used to access the resource; the specific computer that the resource is housed in; and the specific name of the resource (a file name) on the computer. Another kind of URI is the Uniform Resource Name (URN). A URN is a form of URI that has “institutional persistence,” which means that its exact location may change from time to time, but some agency will be able to find it.
In these known systems, only Web pages and downloaded elements are stored and recorded. In contrast, certain information, such as search queries that are not returned as part of a URL, as well as other arbitrary information selected by the user or server, cannot be included on the history list unless separately represented as a defined Web page. Thus, scriptlet and applet communications sessions may completely bypass the browser's ability to record the session progress, and thus make the browser unable to define the associated states and return to a prior state.
A related problem occurs where the remote server employs cookies to define the Web page transmitted. If the cookie is changed, and indeed such changes may be made by the remote server during subsequent interaction, the state defined by the URL cannot be used to return the browser to the prior state.
Cookies files stored in conjunction with user agents (web browsers, etc.) to hold small amounts of state information associated with a user's web browsing. Common applications for cookies include storing user preferences, automating low security user signon facilities, and helping collect data used for “shopping cart” style applications. See, RFC 2109, Network Working Group, HTTP State Management Mechanism. See, also RFC 2068, Network Working Group, Hypertext Transfer Protocol—HTTP/1.1
U.S. Pat. No. 6,018,344, expressly incorporated herein by reference, provides a system which, at a server, records requests for URLs by users, and provides a two dimensional map representing the usage history. U.S. Pat. No. 6,038,610, expressly incorporated herein by reference, provides a system and method for storage of site maps at respective servers, which are then communicated to client systems.
Because of the limitations just discussed, among others, the implemented history list function employed by available browsers, i.e., standardized software executing on client systems for interacting with the Internet Web servers, fails to achieve the ability to return reliably the browser to a prior state in a number of common instances.
In order to elucidate the problems involved in capturing the user's session history, it is necessary to consider the state of the client and server during a user session. In order to define the state of the machine, user activity is tracked. Storing a complete image of all processes, memory and registers is untenable, since literally this requires turning back the clock, with loss of all intervening information, which is either impossible or itself undesired. User activity may traditionally be tracked in a number of known ways. For example, a local computer application can track user activity. Likewise, any system interposed within a necessary communication path may also log user activity. A computer identifier, such as commonly included within a browser cookie, may be used to identify, and thus subsequently track the user, at a remote server. However, since the user may delete browser cookies, this technique is not reliable between sessions. In some cases, a communications address, such as an IP address, may be used to track a user; however, since users may share IP addresses, and IP addresses may be dynamically assigned, this technique is not globally reliable between communications sessions.